package com.threadLocal的使用案例;

import com.线程案例.threadLocal.User11;

import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

/**
 * @author: LCG
 * @date: 2022-07-22 23:08:23
 * @description:
 **/
public class TestLocalService {

    private ThreadPoolExecutor threadPoolExecutor=new ThreadPoolExecutor(2,2,
            30, TimeUnit.SECONDS,new LinkedBlockingQueue<>());

    public void getUserInfo(){
        //如果我想在这个位置获取User信息怎么办呢？
        //当然你可以说在getUserInfo()中添加一个 User参数不就可以了
        //那如果 这个方法不允许被修改呢，那如果我想在很多个其他的方法中也获取怎么办呢？
        // 如果是在 子线程 或者 线程池中可以获取的到吗

        threadPoolExecutor.execute(new Runnable() {
            @Override
            public void run() {
                User11 userInfo = UserInfoUtils.getUserInfo();
                System.out.println(userInfo);
            }
        });

        /*Thread thread=new Thread(new Runnable() {
            @Override
            public void run() {
                User11 userInfo = UserInfoUtils.getUserInfo();
                System.out.println(userInfo);
            }
        });
        thread.start();*/
    }

}
